package com.whjfxx.terminal.biz.param;

import lombok.Data;
import org.hibernate.validator.constraints.Length;
import org.hibernate.validator.constraints.NotBlank;

import javax.validation.constraints.Max;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern;
import javax.validation.constraints.Size;
import java.io.Serializable;
import java.util.Set;

@Data
public class TerminalParam implements Serializable {

    /**
     * id
     */
    private Long id;

    /**
     * 应用
     */
    @NotNull(message = "应用不能为空")
    private Long appId;

    /**
     * 功能
     */
    @NotNull(message = "功能不能为空")
    private Long funcId;

    /**
     * 序列号
     */
    @NotBlank(message = "序列号不能为空")
    @Length(max = 64, message = "功能名称长度不能超过64")
    private String sn;

    /**
     * 型号
     */
    @NotBlank(message = "型号不能为空")
    @Length(max = 64, message = "型号长度不能超过64")
    private String terminalType;


    /**
     * 位置
     */
    @Length(max = 64, message = "型号长度不能超过64")
    private String position;

    /**
     * 备注
     */
    @Length(max = 100, message = "说明不能超过100")
    private String remark;

    /**
     * 应用版本号
     */
    @Length(max = 64, message = "应用版本号不能超过64")
    private String appVer;

    /**
     * 功能版本号
     */
    @Length(max = 64, message = "功能版本号不能超过64")
    private String funcVer;

    /**
     * 效期（06，12，24 P）
     */
    @NotBlank(message = "效期不能为空")
    @Pattern(regexp = "06|12|24|P", message = "效期参数格式错误")
    private String expiryType;
}
